I. Technical Field
The present invention generally relates to software and configurable software components. More particularly, the invention relates to systems and methods for configuring software, including systems and methods for performing multi-level configuration and/or wizard-like configuration of software.
II. Background Information
In today's marketplace, software is widely available and sold to a variety of users ranging from everyday consumers to large business entities. In some cases, a software provider will offer “standardized” software that is susceptible to little or no configuration by the user. In other cases, software will be provided that is capable of being configured or customized according to the needs of the end user or customer. One area in which configurable software is desirable to end users and customers is the business software and applications area.
Generally, there are two main tendencies regarding configurable business software. First, in order to increase re-useability of the software code, larger portions of software become configurable rather than hard-coded. Second, end user configuration should be easy to understand and should happen in a business-oriented language rather than a technical one. As will be apparent, these tendencies can conflict with one another and pose problems that have not heretofore been addressed.
In view of the foregoing, there is a need for improved systems and methods of configuring software, such as business software applications and components. For example, there is a need for a wizard-like configuration, that overlays the original configuration demand of the software, which may be too complex and structured too technically rather than being structured following business needs. Also, there is a need for delivery of ready to run pre-configurations (e.g., industry specific) that can simplify the set-up of a new system.
In the business software area and other areas, there is also a need for configurations that can be done on more than one level. For example, there is a need for systems and methods for performing multi-level configuration of software, wherein each level simplifies and/or makes more specific (and less abstract) the previous level. By way of example, it may be desirable to have a multi-level configuration of software. Such software would preferably include one or more of the following: a basic configuration by the producer of the software; business area specific and/or regional adaptations by resellers or other departments within the producing company; customer specific configuration(s) on a company group level as guiding or binding templates for companies inside the group; and/or end user configuration(s) in the customer's company.
Current software solutions do not address the above-identified needs. Furthermore, past attempts do not adequately support multi-level-configurations, such as multi-level configurations with comprehensive release management for configuration content.